The present invention relates generally to electronic communication and, more particularly, concerns maintenance of security in communications which can be initiated through an externally provided, actuable executable, such as a software button.
Communications associated with the present invention are provided through the use of a “computing device”, which will be understood to include not only an actual computer, such as a personal computer, but also any kind of intelligent device, such as a personal digital assistant (PDA) or a smart telephone, capable of Internet browsing. For voice communications, the device will need to be capable of sensing sound, as through a microphone, and producing sound, as through a speaker or earphone. Communication takes place through a network, such as the Internet and, possibly, through the public service telephone network (PSTN).
In our co-pending U.S. patent application Ser. No. 12/603,683, filed Oct. 22, 2009, we disclose a method and system for facilitating telephone calls that convey the context of the call to the called party. The disclosure of that patent application is incorporated herein by reference in its entirety. In accordance with one embodiment of the invention disclosed in that patent application, a software button is utilized on a computing device to initiate a call. Activation of the button causes a “soft phone” to be downloaded from a server. The soft phone is essentially an executable software agent that operates on the computing device to set up a call to only a specified telephone number. The software agent causes certain call context information to be embedded which is unique to the actuated software button.
In our co-pending U.S. patent application Ser. No. 12/691,978, filed Jan. 22, 2010, we disclose that the use of a software button and downloaded software agent can offer additional benefits in providing privacy, security and dynamic control of service. As an example, we disclose an online directory, similar to a telephone directory but comprised of software buttons, in which a calling party could select a called party by clicking a software button dedicated to the called party. The button provides an identification of the called party, but some or all contact information could be hidden and inaccessible to the calling party. A server containing the directory causes download of a software agent to the calling party's computing device, which causes the calling party's computing device to establish communication with the called party. However, the called party is able to maintain privacy, or even complete anonymity.
In the same application, we also disclose software buttons utilized to provide a communication service which is dynamic. That is, the nature or type of service changes based upon conditions predefined by the called party and information provided by the calling party. For example, a called party might specify that, during business hours, communication be by telephone to a specific telephone number and outside of business hours, communication be by text message if urgent and e-mail if not urgent. When the calling party clicks a software button, the software agent downloaded to his computing device would then be a soft phone during business hours. Outside of business hours, a software agent would be downloaded to the calling party which would inquire whether the call is urgent and, depending upon the response, would provide a text message agent or an e-mail agent, respectively.
The disclosure of co-pending U.S. patent application Ser. No. 12/691,978 is hereby incorporated herein by reference in its entirety.
One of the outstanding advantages of communication based upon software buttons is its spontaneity and simplicity. However, a number of security issues impact upon its utility. For example, the Sender of a software button should be protected against receiving spam and must be assured of the authenticity of the caller before picking up a call. Moreover, any security mechanism imposed must not interfere with the basic spontaneity and simplicity of this type of communication.
In accordance with one aspect of embodiments of the present invention, when a Recipient first actuates a software button, a basic type of communication connection is established, during which the Recipient's identity can be verified. The Recipient then establishes a personal identification code, which he will have to provide upon future actuations of the software button. The system then enables other types of communication connections that can be established by the Recipient.
In accordance with another aspect of embodiments of the present invention, when the Recipient actuates the software button and verifies his identity, the system remembers the identity and location of the computing device he is using. When the Recipient subsequently actuates the software button, the identity and location of his computing device are checked, and verification of his identity is suppressed if they have not changed.